package com.sdkj.dspservice.common.utils;

import com.sdkj.dspservice.modules.sys.entity.User;
import com.sdkj.dspservice.modules.sys.service.UserService;
import org.apache.shiro.SecurityUtils;

/***********************************************************************
 * 文件说明：用户工具类
 * 创建信息：李晋 2019/01/03 16:55
 * 变更履历： 
 ***********************************************************************/
public class UserUtils {

    private static UserService userService = SpringContextHolder.getBean(UserService.class);

    /**
     * 获取当前用户ID
     * @return
     */
    public static String getCurrentUserId(){
        return getCurrentUser().getId();
    }

    /**
     * 获取当前用户
     * @return
     */
    public static User getCurrentUser(){
        Object principal = SecurityUtils.getSubject().getPrincipal();
        User user;
        if(principal != null){
            // 获取当前登录的账号
            String loginName = SecurityUtils.getSubject().getPrincipal().toString();
            // 获取用户
            user = userService.getByLoginName(loginName);
        }else {
            user = new User("1");
        }
        return user;
    }

    /**
     * 密码加密
     * @param password  原密码
     * @return  加密后
     */
    public static String passwordEncrypt(String password){
        return MD5Utils.getSaltMd5(password);
    }

    /**
     * 密码校验
     * @param password 未加密的密码
     * @param encryptPassword   已加密的密码
     * @return
     */
    public static boolean passwordVerify(String password, String encryptPassword) {
        System.out.println("*********************password:" + password + "*********************");
        System.out.println("*********************encryptPassword:" + encryptPassword + "*********************");
        return MD5Utils.getSaltVerifyMd5(password, encryptPassword);
    }

}
